package com.fg.cloud.manager.mapper.agency;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.fg.cloud.common.PageUtils;
import com.fg.cloud.manager.entry.agency.AgencyBillEntity;
import com.fg.cloud.manager.entry.agency.vo.AgencyBillVo;
import com.fg.cloud.manager.entry.order.OrderPaymentEntity;
import com.fg.cloud.manager.mapper.BaseMapper;

/**
  * Description:经销商账单流水mapper
  * @author shaoqiping
  * @date 2017年8月21日上午9:48:53
*/
public interface AgencyBillMapper extends BaseMapper{
	
	
	/**
	  * Description:订单付款详情查询
	  * @param id
	  * @return
	  * @author shaoqiping
	  * @date 2017年11月10日上午10:33:21
	*/
	List<AgencyBillEntity> selectOrderPayment(Long id);
	/**
	  * Description:订单付款详情分页查询
	  * @param pageinfo
	  * @return
	  * @author shaoqiping
	  * @date 2017年11月10日上午10:14:57
	*/
	List<AgencyBillEntity> selectOrderPaymentList(PageUtils<AgencyBillEntity> pageinfo);
	
	/**
	  * Description:订单付款详情计数
	  * @param condition
	  * @return
	  * @author shaoqiping
	  * @date 2017年11月10日上午10:14:43
	*/
	long selectOrderPaymentCount(@Param("condition")Map<String, Object> condition);
	/**
	  * Description:批量新增流水
	  * @param flows
	  * @return
	  * @author shaoqiping
	  * @date 2017年10月19日下午2:37:02
	*/
	int insertFlows(@Param("flows")List<AgencyBillEntity> flows);
	/**
	  * Description:删除对账单还款明细
	  * @param id
	  * @return
	  * @author shaoqiping
	  * @date 2017年10月16日下午3:34:19
	*/
	int deleteStatementPays(Long id);
	/**
	  * Description:关联订单查询
	  * @param id
	  * @return
	  * @author shaoqiping
	  * @date 2017年9月26日下午12:44:54
	*/
	AgencyBillEntity selectByTransId(Long id);
	/**
	  * Description:查询还款明细
	  * @param flowId
	  * @return
	  * @author shaoqiping
	  * @date 2017年9月11日下午3:07:17
	*/
	List<OrderPaymentEntity> selectPays(Long flowId);
	/**
	  * Description:插入对账单还款明细
	  * @param pays
	  * @return
	  * @author shaoqiping
	  * @date 2017年9月11日上午9:43:43
	*/
	int insertPays(@Param("pays")List<OrderPaymentEntity> pays);
	/**
	  * Description:插入流水
	  * @param entity
	  * @return
	  * @author shaoqiping
	  * @date 2017年8月25日上午10:03:33
	*/
	int insert(AgencyBillEntity entity);
	/**
	  * Description:高级搜索统计条目数
	  * @param pageinfo
	  * @author shaoqiping
	  * @date 2017年8月22日下午3:07:19
	*/
	Long highFilterCount(@Param("condition") Map<String, Object> condition);
	
	/**
	  * Description:高级搜索结果集
	  * @param pageinfo
	  * @return
	  * @author shaoqiping
	  * @date 2017年8月22日下午3:08:17
	*/
	List<AgencyBillVo> highFindList(PageUtils<AgencyBillVo> pageinfo);
	
	/**
	  * Description:删除未确认的流水
	  * @param id
	  * @param ageId
	  * @return
	  * @author shaoqiping
	  * @date 2017年8月24日下午5:45:34
	*/
	int deleteUnconfirmed(@Param("id")Long id,@Param("ageId")Long ageId);
}
